Order Master
Справочный центр Order Master всех версий
Восстановление скрипта после заражения трояном
Эта инструкция помогает восстановить скрипт OM/OM Pro/OM2 если он был заражён трояном.
На заражение трояном, как правило, указывает тот факт - что в файлах .php (начиная с index.php в главной папке) - содержится какой-то странный новый код, обычно в конце файла, а сам скрипт перестаёт работать и выдаёт множество ошибок, нередко в неотображаемой нормально кодировке.
Заражение трояном происходит обычно без участия PHP-скриптов (поражаются случайные .php файлы произвольно - могут пострадать любые скрипты на PHP, не только Order Master), а через FTP-канал.
Чаще всего из-за того, что на Ваш компьютер (под ОС Windows/Mac OS) попал троян, который "вытащил" сохранённый FTP-пароль из FTP-клиента (Total Commander, FileZilla, FAR Manager и др.) - и сам зашёл по FTP, нашёл случайные файлы .php и добавил в них вредоносный код.
В этом случае наиболее оптимальный выход - это загрузить скрипт заново, сохранив настройки, шаблоны.
Нижеприведённая инструкция написана на примере Order Master Pro - и точная такая же для Order Master 2, лишь с той разницей - что у Order Master 2 обычно папка om2 вместо op. Для Order Master обычной версии есть некоторые отличия в именах файлов, они указаны в инструкции.
Шаг 1. Прежде всего обезопасить себя и свой компьютер - иначе никакая замена файлов не решит проблему, если троян снова и снова будет заражать файлы.
Для этого поменяйте прежде всего FTP-пароль. Этот как минимум. Если у вас насколько FTP-аккаунтов к одному хостингу - рекомендуется заменить на всех.
Возможно стоит задуматься о безопасности самого компьютера, установив надёжный Антивирус + Файрвол (Firewall). Этой теме посвящено достаточно много материалов, есть разные программы и связки (Kaspersky Internet Security или Eset Nod32 + Outpost FireWall и др.). Но стоит учитывать - пока компьютер заражён и если после смены пароля на FTP - Вы снова его сохраните в FTP-клиенте - высока вероятность повторного заражения скрипта через FTP-канал.
В отдельных случаях возможно заражение через соседние "дырявые" PHP-скрипты, не обрабатывающие достаточно входящие данные. Нередко такое бывает и с популярными PHP-движками сайтов старых версий или плохо написанными формами обратной связи, гостевыми книгами и др. Универсального выхода в этой ситуации нет - но, как правило, популярные движки в случае серьёзной уязвимости - выпускают обновления, если таковые имеются - рекомендуется обновить до последней версии.
Шаг 2. Подготовить дистрибутив к новой загрузке.
Если у Вас есть скрипт уже - то найдите этот архив исходный. Если нет - Вы может обратиться к разработчику для получения повторно скрипта. В зависимости от версии могут быть разные дистрибутивы (например, отдельный для PHP 5.2, отдельный для PHP 5.3), узнать версию можно по инструкции.
Также Вам понадобится файл лицензии key.php - его можно скачать на страничке получения лицензии или взять из текущей папки Order Master/Order Master Pro/Order Master 2.
Шаг 3. Сохранение данных для доступа к базе и секретного ключа.
База данных не будет повреждена при переустановке - поэтому все Ваши данные останутся на месте. Вам нужно будет сохранить:
- секретный ключ
- данные от базы данных
Для этого сохраните с сервера к себе на компьютер файлы:
Вариант 1. Для OM (обычной версии):
om/sys/app/config/database.php
om/sys/app/config/config.php
Вариант 2. Для OM Pro/OM2:
Один файл: protected/config/main.php
Шаг 4. Резервная копия текущей версии.
Рекомендуется сделать резервную копию текущей версии.
Обычно это делается очень просто: текущая папка переименовывается в другую. Иногда можно скопировать просто на компьютер к себе, но это требует больше времени.
Если Вы выбрали наиболее простой вариант - с переименованием, переименуйте, например, текущую папку op (или другую - в зависимости от версии) - в папку op_old - там сохранятся все Ваши файлы.
Шаг 5. Новая установка системы с сохранением данных.
Вам нужно сделать новую установку в папку от программы.
Следуйте обычным инструкциям по установке, но не создавайте базу данных - а впишите данные от текущей. Лучше сделать ещё проще - скопируйте сохранённые ранее файлы конфигурации БД/секретного ключа (которые Вы сохранили в Шаге 3), если они не повредились лишним кодом при заражении.
Инструкции на все версии:
Установка OM >>
Установка OM Pro >>
Установка OM2 >>
Так как Вы указали текущую базу данных и текущий секретный ключ - то всё останется на своих местах, сохранятся все данные - клиенты, счета, товары и т.п.
Уже можно использовать новую восстановленную копию. Все ссылки будут работать.
Шаг 6. Копирование шаблонов, шифрованных файлов и вложений.
Этот шаг относится ТОЛЬКО к Order Master Pro или Order Master 2.
В обычной версии OM всё это не нужно - потому что там единственный источник хранения всех изменений - это База Данных, которая, как правило, не затрагивается при заражении. Если, конечно же, Вы вручную меняли шаблоны не через админ-панель в обычной версии Order Master - а через редактирование непосредственно файлов папки sys/app/views - то их придётся заново скопировать с сохранённой ранее версии.
а) Копирование шаблонов.
Если Вам нужны все старые шаблоны - скопируйте их с сохранённой резервной копии и замените файлы по умолчанию в новой копии - на Ваши старые (изменённые).
Ниже указано где хранятся какие шаблоны:
protected/views - все шаблоны основного пользовательского интерфейса (странички заказа, каталога и др.)
protected/modules/admin/views - шаблоны админ-панели
protected/modules/aff/views - шаблоны аккаунта партнёра
protected/modules/author/views - шаблоны панели автора
protected/modules/area/views/ - шаблоны закрытых зон
Стоит понимать, что если и шаблоны повредил троян (добавил в конец вредоносный код и т.п. - это можно увидеть открыв любым текстовым редактором их) - то дизайн придётся либо накладывать заново, либо вычищать этот вредоносный код вручную. Шаблоны заражаются гораздо реже (на практике), но и это бывает - поэтому возможен теоретически и такой вариант в Вашем случае.
б) Копирование файлов закрытых зон и шифрованных ссылок.
Скопируйте текущую папку files из OM Pro/Om2 - в ней хранятся все шифрованные файлы и все файлы закрытой зоны.
в) Если Вы используете модуль "Тикетная система" - то возможно у Вас есть тикеты с вложенными файлами. Вложенные файлы хранятся в папке /userfiles/ - возможно есть смысл и её скопировать тоже из резервной копии.
На этом восстановление завершено. Рекомендуется позаботиться о безопасности Вашего компьютера дабы избежать подобной ситуации в будущем.